<template>
    <!-- 总容器 -->
      <div class="wrapper">
          <header>
              <i class="fa fa-angle-left" onclick="history.go(-1)"></i>
              <p>选择体检套餐</p>
              <div></div>
          </header>
          <div class="top-ban"></div>
  
          <ul class="setmeal">
              <li v-for="(setmeal,index) in setmealList" :key="setmeal.id" :value="index">
                  <div class="item">
                      <div class="item-left" @click=goToSelectDate(setmeal.id)>
                        <img src=../../assets/images/setmeal.jpg class="setmeal-image">
                          <h3>{{ setmeal.name }}</h3>
                          <p class="setmeal-price">¥{{ setmeal.price }}</p>
                      </div>
                      <div class="item-right" @click="toggleDetails(setmeal.id)">
                          <p>详情</p>
                          <i class="fa fa-angle-down"></i>
                      </div>
                  </div>
                  <div class="item-content" v-if="showDetails[setmeal.id]">
                      <table>
                          <tr>
                              <th>检查项目</th>
                              <th>检查内容</th>
                              <th>检查意义</th>
                          </tr>
                          <tr v-for="item in checkItemList" :key="item.id">
                              <td>{{ item.ciName }}</td>
                              <td>{{ item.ciContent }}</td>
                              <td>{{ item.meaning }}</td>
                          </tr>
                      </table>
                  </div>
              </li>
          </ul>
          <div class="bottom-ban"></div>
          <Footer/>
      </div>
  
  </template>
  
  <script setup>
  import {listSetmeal} from '@/api/setmeal'
  import {listCheckItem} from '@/api/checkItem'
  const router=useRouter()
  const route = useRoute()


  //查询套餐对应检查项
  const showDetails = ref([])
  const checkItemList = ref([])
  function toggleDetails(index) {
    if (showDetails.value[index]) {
        showDetails.value[index] = false
    } else {
        listCheckItem(index).then(response => {
            checkItemList.value = response.data.data
            showDetails.value[index] = true
        })
    }
}

  //查询医院
  const setmealList = ref([])
  function getList() {
      listSetmeal().then(response=>{
          setmealList.value = response.data.data
          showDetails.value = setmealList.value.map(() => false)
          checkItemList.value = setmealList.value.map(() => [])
      })
  }

  const hpId = route.query.hpId
  //跳转到预约日期
  function goToSelectDate(id) {
      router.push({ name: 'selectdate', query: { smId: id,hpId: hpId } })
  }

  
  getList()
  </script>
  
  <style scoped>
  /*********************** 总容器 ***********************/
  .wrapper{
      width: 100%;
      height: 100%;
      background-color: #F9F9F9;
  }
  
  /*********************** header ***********************/
  header{
      width: 100%;
      height: 15.7vw;
      background-color: #FFF;
  
      position: fixed;
      left: 0;
      top: 0;
  
      display: flex;
      align-items: center;
      justify-content: space-between;
  
      box-sizing: border-box;
      padding: 0 3.6vw;
  }
  header .fa{
      font-size: 8vw;
  }
  
  
  /*********************** common样式 ***********************/
  .top-ban{
      width: 100%;
      height: 15.7vw;
  }
  .bottom-ban{
      width: 100%;
      height: 14.2vw;
  }
  
  /*********************** setmeal ***********************/
  .setmeal{
      width: 100%;
      margin-top: 10vw;
  }
  .setmeal li {
    width: 92.8vw;
    margin: 0 auto;
    border: solid 1px #EEE;
    border-radius: 1vw;
    box-shadow: 2px 2px 5px rgba(0,0,0,.08);
    background-color: #FFF;
    margin-bottom: 3.6vw;
    min-height: 60vw; /* 设置最小高度，确保内容有足够的空间显示 */
    overflow: hidden; /* 防止内容溢出 */
}
.setmeal li .item {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 2vw; /* 添加一些内边距，根据需要调整 */
}

.setmeal-image {
    width: 100%; /* 图片宽度占满容器 */
    height: auto; /* 高度自动调整以保持宽高比 */
    object-fit: cover; /* 保持宽高比并裁剪多余的部分 */
    border-radius: 1vw; /* 为图片添加圆角 */
    margin-bottom: 1vw; /* 图片与名称之间的间距 */
}

/* 新增价格样式 */
.setmeal-price {
    font-size: 3.6vw; /* 根据需要调整字体大小 */
    color: #FF3333; /* 设置价格颜色，比如红色 */
    margin-top: 0.5vw; /* 价格与名称之间的间距 */
}

.setmeal li .item .item-left {
    flex: 0 0 72vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* 内容左对齐 */
    padding-left: 12vw;
    box-sizing: border-box;
    border-right: solid 1px #EEE;
    overflow: hidden; /* 防止内容溢出 */
}
  .setmeal li .item .item-left h3{
      font-size: 5vw;
      font-weight: 600;
  }
  .setmeal li .item .item-left p{
      font-size: 5vw;
      margin-top: 1vw;
  }
  .setmeal li .item .item-right {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    writing-mode: vertical-rl; /* 设置文本垂直排列 */
    user-select: none;
    cursor: pointer;
}
.setmeal li .item .item-right p {
    font-size: 5vw;
    margin: 0; /* 移除默认的外边距 */
    writing-mode: vertical-rl; /* 继承父元素的垂直排列 */
}
  
  .setmeal li .item-content{
      /*display: none;*/
      width: 100%;
      background-color: #FFF;
  }
  .setmeal li .item-content table{
      width: 100%;
      border-collapse: collapse;
      font-size: 4vw;
      color: #555;
  }
  .setmeal li .item-content table tr{
      display: flex;
  }
  .setmeal li .item-content table tr td,.setmeal li .item-content table tr th{
      flex: 1;
  }
  .setmeal li .item-content table tr th{
      text-align: center;
      background-color: #EEE;
      height: 10vw;
      line-height: 10vw;
  }
  .setmeal li .item-content table tr td{
      border: solid 1px #EFEFEF;
      box-sizing: border-box;
      padding: 2vw;
  }

  /* 新增图片样式 */
.setmeal-image {
    width: 100%; /* 或者设置一个具体的宽度，比如 50vw */
    height: auto; /* 保持图片比例 */
    border-radius: 1vw; /* 可选：为图片添加圆角 */
    margin-bottom: 1vw; /* 图片与名称之间的间距 */
}
 
/* 新增价格样式 */
.setmeal-price {
    font-size: 3.6vw; /* 根据需要调整字体大小 */
    color: #FF3333; /* 设置价格颜色，比如红色 */
    margin-top: 0.5vw; /* 价格与名称之间的间距 */
}
 
/* 可能需要调整 .item-left 的高度以容纳图片和价格 */
.setmeal li .item .item-left {
    /* 根据图片和价格的高度调整 */
    height: auto; /* 或者设置一个具体的高度，确保能容纳所有内容 */
    flex-direction: column; /* 确保内容垂直排列 */
    justify-content: flex-start; /* 内容从顶部开始排列 */
    /* 其他样式保持不变 */
}
 
.setmeal li .item .item-right i.fa-angle-down {
    margin-top: 2vw; /* 根据需要调整图标与文本之间的间距 */
}
  </style>